#include "u_Key.h"
#include "bsp_Timer.h"

/***********************************************************************************************************************************/
/*                                                  新  建  按  键  对  象                                                          */
/***********************************************************************************************************************************/
Key_Function Key_obj_01 = {
    .KeyLongTimer = 800,                               // 长按时间 >800ms
    .KEYTriggerMode = 0,                               // #error 触发方式 0低电平触发、  1是高电平触发
    .KEYEnable = 1,                                    // 使能 0是禁用    1是使能(默认)
    .KEY_oneClick_event = Key_obj_01_oneClick_event,   // #error 按键单击事件
    .KEY_twoClick_event = Key_obj_01_twoClick_event,   // #error 按键双击事件
    .KEY_longClick_event = Key_obj_01_longClick_event, // #error 按键长按事件
};

// 按键定时处理函数 放在1ms定时器中
void KEY_obj_Ti_CallBack_Function(void)
{
    // #warning 将按键绑定的引脚填上
    KEY_obj_Activate(KEY01_ISIN, &Key_obj_01);
}
// 按键处理函数    放在main()中whie里主函数中循环
void KEY_All_event_Handle(void)
{
    // #warning 让主程序处理按键绑定的事件
    KEY_obj_event(&Key_obj_01);
}
// 功按键调试函数
void KEY_Debug(void)
{
    // KEY_obj_setOneClick_event(&Key_obj_01, Key_obj_Y2_oneClick_event); // 设置按键对象的 单击 事件

    while (1)
    {
        bsp_Ti_All_Handle();
        KEY_All_event_Handle();
    }
}

/***********************************************************************************************************************************/
/*                                                      用  户  程  序                                                              */
/***********************************************************************************************************************************/
void Key_obj_01_oneClick_event(void)
{
    // printf("Key_obj_01: oneClick\n"); // 打印
}
void Key_obj_01_twoClick_event(void)
{
    // printf("Key_obj_01: twoClick\n"); // 打印
}
void Key_obj_01_longClick_event(void)
{
    // printf("Key_obj_01: longClick\n"); // 打印
}